home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 015a / vmix285.zip / TECHREF.DOC < prev    next >
Text File  |  1992-09-30  |  91KB  |  3,829 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                              -------------------------
  11.                             |                         |
  12.                             |                         |
  13.                             |                         |
  14.                             |      V M i X  3 8 6     |
  15.                             |                         |
  16.                             |           for           |
  17.                             |                         |
  18.                             |    MSDOS Environments   |
  19.                             |                         |
  20.                             |                         |
  21.                             |                         |
  22.                             |    Multiuser Operating  |
  23.                             |        Supervisor       |
  24.                             |                         |
  25.                             |         for the         |
  26.                             |                         |
  27.                             |    I B M  PC / XT / AT  |
  28.                             |                         |
  29.                             |                         |
  30.                             |       Version 2.7X      |
  31.                             |                         |
  32.                             |    Technical Reference  |
  33.                              -------------------------
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.                                         By
  56.  
  57.                                  J. Anthony Borras
  58.                            Commercial Software Associates
  59.                                 Post Office Box  36
  60.                           Corona del Mar, California 92625
  61.                                   (714)  720-1214
  62.  
  63.                      IBM PC/XT/AT are trademarks of the IBM Corp.
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                               This manual was written by:
  125.  
  126.  
  127.                              Commercial Software Associates
  128.                                    Post Office Box  36
  129.                             Corona del Mar, California 92625
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   COPYRIGHT NOTICE
  137.  
  138.                               Copyright (c) 1991, 1992
  139.                                 by: J. Anthony Borras
  140.                                  All rights reserved
  141.  
  142.                       No  part  of  this  program  or  related
  143.                       documentation may be copied, reproduced,
  144.                       stored   in   a   retrieval  system,  or
  145.                       transmitted in any  form or by any means
  146.                       electronic,   mechanical,   photocopied,
  147.                       recorded, or thereby translated into any
  148.                       language,   without  the  prior  written
  149.                       permission of  the publisher.    You may
  150.                       only  make  a copy  of  the program  for
  151.                       backup purposes.
  152.  
  153.  
  154.  
  155.                               LIMITED SHAREWARE LICENSE
  156.  
  157.                       VMiX 386  may  be  copied  for others to
  158.                       tryout, subject to the following copying
  159.                       restrictions   specified  by  this  time
  160.                       limited license:
  161.  
  162.                       All copies  distributed  to  others must
  163.                       include a  copy of the  Copyright Notice,
  164.                       the Limited Shareware License, Disclaimer
  165.                       of All  Warranties  and Liabilities, and
  166.                       Liabilities,  and  the  Software License
  167.                       Agreement.
  168.  
  169.  
  170.  
  171.                                    Disclaimer of
  172.                            All Warranties and Liabilities
  173.  
  174.                       Commercial Software (ComSoft) Associates
  175.                       makes no warranties, either expressed or
  176.                       implied,  with respect to this manual or
  177.                       to the software described there in,  its
  178.                       quality,  performance,  merchantability,
  179.                       or  fitness for any particular  purpose.
  180.                       VMiX 386 is  sold  or  licensed `as is',
  181.                       and   is   for  use  by   the   original
  182.                       purchaser  only,  except as expanded  by
  183.                       the Limited Shareware License  described
  184.                       above.   The  entire  risk,  as  to  the
  185.                       quality  and  performance,  of the  VMiX
  186.                       experimental  system is with the  buyer.
  187.                       In  the event of loss or damage   caused
  188.                       or alleged to be caused by the VMiX  386
  189.                       program, the buyer (and not ComSoft, its
  190.                       distributors,  or its retailers) assumes
  191.                       the   entire   cost  of  all   necessary
  192.                       servicing,  repair,  or correction   and
  193.                       any  incidental or consequential damages
  194.                       resulting   from  any  defect   in   the
  195.                       software or its use, even if ComSoft has
  196.                       been advised of the possibility of  such
  197.                       damages.
  198.  
  199.  
  200.  
  201.  
  202.                              SOFTWARE LICENSE AGREEMENT
  203.  
  204.  
  205.                       The party, agrees that they will use the
  206.                       software entitled `VMiX 386' exclusively
  207.                       for  their  private  use  in  their  own
  208.                       personal system,  not to exceed 3 CPU's.
  209.                       The  party agrees that all copies of the
  210.                       VMiX   386  software  package  are   the
  211.                       property    of    Commercial    Software
  212.                       Associates, Westwood California and that
  213.                       all  copies  will display  the  original
  214.                       copyright.
  215.  
  216.                       The party agrees that the location of all
  217.                       copies  will  be reported  to Commercial
  218.                       Software Associates upon  written demand.
  219.                       The licensee agrees to fill out and mail
  220.                       this  registration   form  and   license
  221.                       within 30 days of the start of the  try-
  222.                       out  period  specified  by  the  Limited
  223.                       Shareware License shown above.   Support
  224.                       will be provided to registered licensees
  225.                       only.
  226.  
  227.                       The  party agrees that  unauthorized use
  228.                       under this  agreement  will cause  great
  229.                       damage to  the licensor, Commercial Soft-
  230.                       ware Associates.
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                       ---------------------------------------
  272.                                                              |
  273.                                                              |
  274.                                                              |
  275.                                                              |
  276.                                                              |
  277.                         CONTENTS                             |
  278.                                                              |
  279.                                                              |
  280.                                                              |
  281.                                                              |
  282.                                                              |
  283.                       ---------------------------------------
  284.  
  285.  
  286.  
  287.  
  288.           INTRODUCTION                         Page
  289.  
  290.           Copyright Notice ...................   3
  291.           Software License Agreement .........   4
  292.           Table of Contents ..................   5
  293.           Quick Overview  ....................   7
  294.  
  295.           The Shell Commands ................. 1- 1
  296.                Command  1 - debug              1- 2
  297.                Command  2 - rshell             1- 3
  298.                Command  3 - remote             1- 4
  299.                Command  4 - swap               1- 6
  300.                Command  5 - chprio             1- 8
  301.                Command  6 - exec               1- 9
  302.                Command  7 - dosjob             1-11
  303.                Command  8 - spawn              1-13
  304.                Command  9 - kill               1-15
  305.                Command 10 - quit               1-16
  306.  
  307.           The Debugger Commands .............. 2- 1
  308.                Command  1 - assign             2- 2
  309.                Command  2 - deassign           2- 6
  310.                Command  3 - init               2- 7
  311.                Command  4 - examine            2- 8
  312.                Command  5 - set                2- 9
  313.  
  314.           The Utilities ...................... 3- 2
  315.                Utility  1 - ps                 3- 3
  316.                Utility  2 - dstat              3- 4
  317.                Utility  3 - dpath              3- 5
  318.                Utility  4 - loadup             3- 6
  319.                Utility  5 - outside            3- 8
  320.                Utility  6 - monitor            3- 9
  321.                Utility  7 - vsetup (.ini)      3-11
  322.                Utility  8 - vt                 3-14
  323.                Utility  9 - vw                 3-16
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.                       ---------------------------------------
  338.                                                              |
  339.                                                              |
  340.                                                              |
  341.                                                              |
  342.                                                              |
  343.                         FIGURES:                             |
  344.                                                              |
  345.                                                              |
  346.                                                              |
  347.                                                              |
  348.                                                              |
  349.                       ---------------------------------------
  350.  
  351.  
  352.  
  353.            FIGURE     DESCRIPTION                    Page
  354.  
  355.            Fig. 1   Default Channel Assignments      1- 4
  356.                 2   Object type name definitions     2- 2
  357.                 3   Valid Baud Rates                 2-10
  358.                 4   Terminal Emulations Supported    2-13
  359.                 5   Color Keys                       2-14
  360.                 6   Color Codes                      2-14
  361.                 7   Window Sizing Coordinates        2-16
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399. QUICK OVERVIEW
  400.  
  401.  
  402.    * VMiX provides the services of a multiuser operating system
  403.      supervisor.  The VMiX kernel ties tightly between the host
  404.      operating system I/O services and the user applications.
  405.      The goal of the VMiX kernel is to arbitrate the use of system
  406.      resources by individual tasks, in an environment providing up
  407.      to 16 megabytes of physical memory and virtualized devices.
  408.  
  409.    * The console screen can be automatically partitioned into up to
  410.      four windows, for a total of 4 tasks executing from the console.
  411.      The active task controls and responds to the console keyboard.
  412.      The active task can be switched, at any time, by pressing the
  413.      hot key, <Shift> <Tab>.  In 386 mode, you can have fully
  414.      virtualized foregrounds, so each can be divided into up to four
  415.      windows or you can have full screen foregrounds ('dosjob -W')
  416.      independent from partitioned foregrounds.
  417.  
  418.    * VMiX does not need to operate in protected mode to multitask.
  419.      Hence, it can be used in 8088 PCs.  In 80286 mode, VMiX will
  420.      use protected mode only during task swapping.  In 80386 mode,
  421.      VMiX operates in protected mode at all times.  System services
  422.      are provided in SYSGATE.ASM to execute your own functions in
  423.      protected mode.
  424.  
  425.    * REMOTE permits a user to call a remote PC running VMiX, and
  426.      teleoperate, as if he were at the console of the remote PC.
  427.      Useful for remote customer support of application programs,
  428.      offsite login and operations.  VMiX terminal drivers provide
  429.      full CGA text mode emulation at a COMM port and will redirect
  430.      direct video writes when in 386 mode.
  431.  
  432.    * Multiple BASIC or GWBASIC interpreter sessions are supported.
  433.      Programs that write directly to video memory will also operate
  434.      from a COMM port when using VMiX in 386 mode.  In non-386
  435.      computers you need to use a remote host utility like 'Remote
  436.      Console'tm in conjunction with VMiX.  'Remote Console'tm is a
  437.      product of Louis Wheeler (805) 481-5687.
  438.  
  439.    * Supports a maximum of five users (only because of COMM port
  440.      limitations), each with multiple processes up to a maximum of
  441.      8 total.
  442.  
  443.    * SPAWN or '&' permits a script of VMiX shell commands to be
  444.      submitted to a background process executing the VMiX shell.
  445.      This allows for background jobs like compiling or printing by
  446.      a concurrent child process.
  447.  
  448.    * DOSJOB permits keyboard interactive applications to be
  449.      partitioned and managed as concurrent video display tasks.
  450.      The -W option allows a new task to use virtualized video memory
  451.      for their own separate display screen.  Their display screen
  452.      can be toggled to and from the foreground display.
  453.  
  454.    * VMiX supports graphics in CGA, MCGA, EGA, or VGA video modes.
  455.      Loadable fonts and up to 80 line displays (with VMiX font
  456.      type 1).
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.    * As explained in the manual, there are (5) five ways to execute
  466.      a DOS command, .BAT file, .COM file, or .EXE program:
  467.                      with 'exec' (now optional),
  468.                      with a command line trailing '&',
  469.                      with 'spawn -c ???? ...',
  470.                      with the 'dosjob [-W]' command,
  471.                   or (the easiest way) by pressing Shift-Enter or
  472.                   Shift-Shift-Enter to end your command line.
  473.  
  474.      When VMiX starts, unless you issued an 'exec -m<size in Kbytes>'
  475.      at the command line, VMiX will use memory partitions of 224Kb
  476.      for (8088/80286) programs or partitions of 600Kb in 386/486
  477.      processors.
  478.  
  479.    * Command line driven multitasking (default).
  480.      Optional pull-down menus user shell.
  481.      Optional VMiX.INI configuration file.
  482.  
  483.    * A remote session facility for linking two or more VMiX hosts.
  484.      Remote user access passwords.
  485.      Remote user program scripts.
  486.  
  487.    * Console operator status line 'set video -s'
  488.  
  489.    * Built-in debugger
  490.        'debug'
  491.        'monitor -f'
  492.        'monitor -r'
  493.  
  494.    * Memory manager and memory mapper
  495.        'monitor -m'
  496.        'monitor -p'
  497.        'examine mcb'
  498.        'examine memory'
  499.  
  500.    * A TSR load-hi utility for 386 mode.
  501.        VMiX relocation to upper memory.
  502.  
  503.    * User specified windows at either the console or ANSI COMM
  504.      terminal, with direct video write support.
  505.  
  506.    * Assembly and High Level Language interface.
  507.      Interrupt 15h VMiX System Services.
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.       C O M S O F T                                           VMiX 386
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.                                   PART ONE
  544.  
  545.  
  546.                                   VMiX 386
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.                                   REFERENCE
  556.  
  557.  
  558.                               THE SHELL COMMANDS
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.       The Shell Commands                                      page 1-1
  594.  
  595.  
  596.       C O M S O F T                                           VMiX 386
  597.  
  598.  
  599.  
  600.  
  601.       NAME: debug
  602.       ____
  603.  
  604.       OUTLINE:
  605.       _______
  606.  
  607.       Purpose:  To invoke the VMiX debugger shell.
  608.       _______   This token is now obsolete, since all the debug
  609.                 commands can be invoked without the 'debug' prefix
  610.                 (from the Root Shell).
  611.  
  612.  
  613.       DESCRIPTION:
  614.       ___________
  615.  
  616.       debug is a root shell token.  This command has 6 sub-tokens:
  617.  
  618.       set, init, examine, assign, deassign, and quit. 
  619.  
  620.      'debug', by itself, invokes the VMiX debugger shell.  The
  621.       debugger shell prompt is  '- __________'.  Once in the debugger
  622.       shell, all the debug sub-tokens become first level tokens and
  623.       you do not have to preceed them with the token 'debug'.
  624.  
  625.       VMiX accepts numeric input in two forms, decimal or hexadecimal.
  626.       To enter hexadecimal numbers, preceede the number with the
  627.       characters '0x'.
  628.  
  629.       To return to the root shell, from the debugger use the token
  630.       'quit'.
  631.  
  632.       NOTE:  All six debugger sub-tokens can be used from the root
  633.       shell level, whether you precede them with the token 'debug',
  634.       or not.  If used with the prefix 'debug', you will moved to the
  635.       debugger shell when the current command completes.  Without the
  636.       prefix, you will remain at the root shell level.
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.       The Shell Commands                                      page 1-2
  660.  
  661.  
  662.       C O M S O F T                                           VMiX 386
  663.  
  664.  
  665.  
  666.  
  667.       NAME: rshell
  668.       ____
  669.  
  670.       OUTLINE:
  671.       _______
  672.  
  673.       Purpose:  To start a new VMiX/DOS command shell.
  674.       _______
  675.  
  676.  
  677.       DESCRIPTION:
  678.       ___________
  679.  
  680.       'rshell' is intended for use with the 'dosjob' command.  When
  681.       used with 'dosjob', a new process will be started and an rshell
  682.       will be used as the command interpreter, in other words a new
  683.       VMiX shell will be started (See 'dosjob').  The 'quit' command
  684.       will close the shell and terminate the process.
  685.  
  686.       When 'rshell' is used as a command, by itself, a new nested
  687.       shell will be started under the current VMiX shell.  The 'quit'
  688.       command will cause a return to the previous shell.
  689.  
  690.       You would use this command in VMiX.INI under the [remote
  691.       startup] Section, if you wished to have passwords checked
  692.       during a remote login (See VSETUP.EXE).
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.       The Shell Commands                                      page 1-3
  726.  
  727.  
  728.       C O M S O F T                                           VMiX 386
  729.  
  730.  
  731.  
  732.  
  733.       NAME: remote
  734.       ____
  735.  
  736.       OUTLINE:
  737.       _______
  738.  
  739.         -a  " toggles global polling ON/OFF"
  740.         -c  " sets remote console channel"
  741.         -i  " toggles fast RS232 ON/OFF"
  742.         -l  " sets terminal login channel"
  743.         -x  " toggles remote logins ON/OFF"
  744.  
  745.       Purpose:  To control your PC's remote serial capabilities via a
  746.       _______   modem or terminal connection.
  747.  
  748.  
  749.       DESCRIPTION:
  750.       ___________
  751.  
  752.       The 'remote -a' command is equivalent to the 'set remote -a'
  753.       command it tells VMiX to listen on all ports.  This slows the
  754.       scheduler, so it is not the default.
  755.  
  756.       The root shell command 'remote -c' will terminate VMiX, but
  757.       it first assigns STDIO to the channel specified after the -c
  758.       switch.  Therefore, MS-DOS resumes at the device associated
  759.       with the channel.  This command is different from the command
  760.       'set remote -c', which relocates the console but does not
  761.       terminate VMiX.
  762.  
  763.       Pressing <Ctrl> F from the terminal, followed by a <Ctrl> Z,
  764.       will effect an emergency return to the console video and
  765.       keyboard.  The correct way to return is to use the 'assign' to
  766.       PROCESS command and assign the process channel 0.
  767.  
  768.       The 'remote -i' command is used to toggle RS-232 communications
  769.       between polled or interrupt driven I/O.  When you 'set baud' for
  770.       a COMM channel above 9600 Baud, the serial port associated with
  771.       the channel will be automatically programmed for interrupt
  772.       driven I/O.  However, you must toggle interrupts TRUE, with
  773.       this command, if you want a baud rate below 19200 to use
  774.       interrupts.  You must use this command to toggle interrupt
  775.       processing FALSE or TRUE, BEFORE you 'set baud'.  Typying
  776.       'remote', by itself, will display the status of all commands.
  777.  
  778.       The 'remote -l' command is equivalent to the 'set remote -l'
  779.       command.  Both set the currently polled channel for new logins.
  780.       Use 'examine status' to display the current assignment.
  781.  
  782.       Normally, VMiX only polls the channel specified with the
  783.       'remote -l' command or the 'set remote -l' command for new
  784.       user logins.  The default channel is 1, equivalent to COM1.
  785.       Other tasks can be currently using other channels, this command
  786.       only affects which channel is currently being listened to for
  787.       new user logins.
  788.  
  789.  
  790.  
  791.       The Shell Commands                                      page 1-4
  792.  
  793.  
  794.       C O M S O F T                                           VMiX 386
  795.  
  796.  
  797.       The 'remote -x' command is equivalent to the 'set remote -x'
  798.       command.  They act as a toggle to disable or enable all logins.
  799.       The default state is logins enabled.  Use 'examine status' to
  800.       display the current state.
  801.  
  802.  
  803.       DEFAULT CHANNEL ASSIGNMENTS:
  804.  
  805.       0      CONSOLE
  806.       1      COM1 serial port
  807.       2      COM2 serial port
  808.       3      COM3 serial port
  809.       4      COM4 serial port
  810.       5      LPT1 printer device
  811.  
  812.       Example batch file to start VMiX and go remote to COM1.  If the
  813.       terminal type is to be a VT-100, then the batch file would
  814.       contain the command line:
  815.  
  816.       vm_boot set terminal -t4 / remote -c1
  817.  
  818.  
  819.       While in REMOTE mode, FUNCTION KEY emulation can be toggled by
  820.       pressing the <Ctrl> F keys (one beep) from the terminal's
  821.       keyboard.
  822.  
  823.       Note that the digit (numbers) keys on the terminal's keyboard
  824.       will now act as [F0] through [F9] keys.  The [Ins], [Del], and
  825.       [End] keys can now be invoked by pressing ^I,  ^D,  and  ^E
  826.       respectively.  The terminal's arrow keys and [Home] key will
  827.       simulate these keys and the terminal's <Shift> key will act as
  828.       the IBM PC's <Alt> key (See Figure 3).
  829.  
  830.       Press ^F a second time (two beeps) to return to numeric keys.
  831.  
  832.       When you use our terminal emulation program, VT.EXE, function
  833.       key emulation is not necessary and the keyboard keys will
  834.       perform normally, all the time.
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.       Refer to the 'set baud' command for information about setting
  854.       the baud rate for remote channels.
  855.  
  856.  
  857.       The Shell Commands                                      page 1-5
  858.  
  859.  
  860.       C O M S O F T                                           VMiX 386
  861.  
  862.  
  863.  
  864.  
  865.       NAME: swap
  866.       ____
  867.  
  868.       OUTLINE:
  869.       _______
  870.  
  871.       Purpose:  To swap a task to/from extended memory.
  872.       _______
  873.  
  874.  
  875.       DESCRIPTION:
  876.       ___________
  877.  
  878.       This is the VMiX task switcher function for 286 computers,
  879.       eventhough it will also work in 386/486 systems.  It will
  880.       move a task to and from extended memory.  When a task is in
  881.       extended memory it will be inactive until swapped back by the
  882.       user.
  883.  
  884.       If you have toggled the swapper ON, with the 'set system -s'
  885.       command, then the VMiX scheduler will regularly move the task
  886.       down to conventional memory for a timeslice of the computer
  887.       and swap it back to let other tasks execute.
  888.  
  889.       The command syntax is:
  890.  
  891.            swap [ process id ]
  892.  
  893.  
  894.       If a process is in low memory, it will be swapped to extended
  895.       memory.  If the process is already swapped, then it will be
  896.       moved back to low memory and resume execution.
  897.  
  898.       Swapped processes will not normally execute, and will stay
  899.       suspended until they are swapped again to low memory.
  900.  
  901.       To allow swapped tasks to also execute, (less frequently than
  902.       in-memory  tasks) use the command 'set system -s' to inform the
  903.       scheduler to include swapped tasks.  The default is no
  904.       time-slice scheduling for swapped tasks.
  905.  
  906.  
  907.       TIPS:
  908.  
  909.       Swapping is more reliable when you set the partition size to
  910.       all available conventional memory with 'exec -m640',before
  911.       the first task to be swapped is started.  The command needs
  912.       only be issued once, during startup.  After the task is
  913.       started with the 'dosjob' command, it can be swapped from the
  914.       'swap' command menu at the root shell, which should not be
  915.       running anything, so it can act as a control shell.
  916.  
  917.       Not directly related to swapping, but some if not most modern
  918.       programs will create a DOS environment that is specific to
  919.       that task.  In the 286 computer, which does not provide a
  920.       virtual DOS environment, this can cause havoc with other task
  921.  
  922.  
  923.       The Shell Commands                                      page 1-6
  924.  
  925.  
  926.       C O M S O F T                                           VMiX 386
  927.  
  928.  
  929.       using the same environment, which they also have tryed to
  930.       modify.  It is safer to start all 286 tasks using the '$$'
  931.       prefix when you type their startup filespec.  This will provide
  932.       protection for that task's environment, even in a 286.
  933.  
  934.                  C:\VMiX> do -W $$D:\Path\myprog.exe
  935.  
  936.       or,
  937.  
  938.                  C:\VMiX> $$myprog  (Press <Shift> <ShifT> <ENTER>)
  939.  
  940.  
  941.       You do not need to 'swap' a task out before you can 'swap'
  942.       another in.  The 'swap' command will move the current low memory
  943.       resident task out of the way, if necessary.
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.       The Shell Commands                                      page 1-7
  990.  
  991.  
  992.       C O M S O F T                                           VMiX 386
  993.  
  994.  
  995.  
  996.  
  997.       NAME: chprio
  998.       ____
  999.  
  1000.       OUTLINE:
  1001.       _______
  1002.  
  1003.       Purpose:  To change the executing priority of a VMiX process.
  1004.       _______
  1005.  
  1006.  
  1007.       DESCRIPTION:
  1008.       ___________
  1009.  
  1010.       All VMiX processes are assigned a default base priority of 7,
  1011.       at start-up.  Priorities are adjusted constantly by the scheduler.
  1012.       They dynamically change within the range 2 through the assigned
  1013.       base maximum for the process.  When you use the command 'chprio',
  1014.       you set the base maximum priority a process is allowed to reach.
  1015.       VMiX uses this float, for example, to 'up' the priority of a process,
  1016.       when the keyboard is used.
  1017.  
  1018.       Task switching adjusts the current priority within the float limit.
  1019.       A process with a base priority of 14 will execute twice as fast as
  1020.       another at priority 7, all other things being equal.
  1021.  
  1022.       A process with priority 1 will not execute at all.  It will sleep
  1023.       until you 'up' the priority above 1, with 'chprio'.
  1024.  
  1025.       VMiX priorities range from a high of 31 to a low of 0.  The
  1026.       scheduler always chooses the process with the highest current
  1027.       priority.  The scheduler round robin's processes with the same
  1028.       priority.  After a task executes for its timeslice duration,
  1029.       its current priority is dropped by 1, to allow other lower
  1030.       priority tasks to execute.  When the priority drops to 2, the
  1031.       priority of the process is reset to the base maximum.
  1032.  
  1033.       The token 'chprio' is used to change the base and current
  1034.       priority of any process to a new value.  The effect of the
  1035.       command is to set the base maximum priority for the process
  1036.       and at the same time make the current priority equal to the
  1037.       specified base.
  1038.  
  1039.       The command syntax is:
  1040.  
  1041.         chprio [ pid [ / priority ] ]
  1042.  
  1043.       where, pid is the process id of the target process, and
  1044.       priority is a value between 0 - 31.  If only chprio is entered,
  1045.       then the shell will prompt for the two arguments.  The default
  1046.       pid, if you only press <ENTER>, is the current process id
  1047.       The default priority is the base priority of the target process.
  1048.  
  1049.  
  1050.  
  1051.       Refer to the 'set process -q' command for information on
  1052.       queue contention management, when interrupts are frequent.
  1053.  
  1054.  
  1055.       The Shell Commands                                      page 1-8
  1056.  
  1057.  
  1058.       C O M S O F T                                           VMiX 386
  1059.  
  1060.  
  1061.  
  1062.  
  1063.       NAME: exec
  1064.       ____
  1065.  
  1066.       OUTLINE:
  1067.       _______
  1068.  
  1069.         -m  " sets transient program memory partition size:
  1070.               (0 - 1024K)"
  1071.  
  1072.       Purpose:  To execute a valid MS-DOS file or command or to set
  1073.       _______   the program partition size in kilobytes.
  1074.  
  1075.  
  1076.       DESCRIPTION:
  1077.       ___________
  1078.  
  1079.       This command provides a direct but limited interface to MS-DOS.
  1080.       The 'exec' token can be used (with no switches) to execute any
  1081.       MS-DOS command string from within a VMiX root shell.  The main
  1082.       purpose of exec is to execute an MS-DOS file.  It can be invoked
  1083.       by itself or in conjunction with the spawn token.
  1084.  
  1085.       'exec' is normally not explicitly used from a VMiX shell, since
  1086.       VMiX passes commands it does not recognize to MS-DOS.  However,
  1087.       in case of a name conflict between a VMiX comand and an MS-DOS
  1088.       command, you would need to use 'exec' explicitly.  Example:
  1089.       'exec set' or 'exec debug.com'.
  1090.  
  1091.       The command syntax is:
  1092.  
  1093.            exec [ MS-DOS command ]
  1094.  
  1095.       The utility of 'exec' for invoking executable images from within
  1096.       a VMiX process is limited because 'exec' uses the MS-DOS
  1097.       command.com loader.  The MS-DOS loader makes assumptions about
  1098.       memory allocation, which do not conform to a multiuser
  1099.       environment like VMiX.
  1100.  
  1101.       In non-386 mode, two or more VMiX processes can use the 'exec'
  1102.       command to access MS-DOS provided that:
  1103.  
  1104.       a) All transient program memory has not been previously
  1105.          grabbed by a program (.COM programs will do this, as well
  1106.          as some .EXE program).
  1107.  
  1108.          The -m switch is used with the 'exec' command to control the
  1109.          amount of memory that .COM or .EXE programs will be allowed
  1110.          to grab.  The amount of memory made available to individual
  1111.          programs, is refered to as the partition size.
  1112.  
  1113.          The command syntax is:
  1114.  
  1115.              exec -m [ max. Kbytes ]
  1116.  
  1117.          where, the number of Kbytes specified sets the partition size
  1118.          and limits the amount of memory that a program can allocate.
  1119.  
  1120.  
  1121.       The Shell Commands                                      page 1-9
  1122.  
  1123.  
  1124.       C O M S O F T                                           VMiX 386
  1125.  
  1126.  
  1127.          Example:  'exec -m128<ENTER>', will limit programs to a
  1128.          maximum of 128 kilobytes.
  1129.  
  1130.  
  1131.       b) MS-DOS is not busy with a nested function call beyond the
  1132.          initial 'exec' call from VMiX.  If another VMiX process has
  1133.          also invoked MS-DOS services that have not completed, then
  1134.          VMiX will wait for MS-DOS to say that it can handle another
  1135.          request.
  1136.  
  1137.          When VMiX encounters this situation, it will print a message:
  1138.  
  1139.          "                      "
  1140.  
  1141.  
  1142.          It is usually safe to press <ENTER> and continue, but the user
  1143.          can also be cautious and decide to Escape.
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.       The Shell Commands                                     page 1-10
  1188.  
  1189.  
  1190.       C O M S O F T                                           VMiX 386
  1191.  
  1192.  
  1193.  
  1194.  
  1195.       NAME: dosjob
  1196.       ____
  1197.  
  1198.       OUTLINE:
  1199.       _______
  1200.  
  1201.         -W  " gives process the full screen"
  1202.  
  1203.       Purpose:  To execute an MS-DOS command, and/or a series of VMiX
  1204.       _______   shell commands, in full screen or automatic window.
  1205.  
  1206.  
  1207.       DESCRIPTION:
  1208.       ___________
  1209.  
  1210.       'dosjob' spawns a child process that executes a string of
  1211.       commands, input immediately following, and on the same line as
  1212.       the 'dosjob' token.
  1213.  
  1214.       This command provides the main interface to multitasking and
  1215.       MS-DOS.  The main purpose of 'dosjob' is to execute an MS-DOS
  1216.       file or command.  It can also be invoked in conjunction with
  1217.       other VMiX shell commands.  For example, a 'dosjob', can include
  1218.       another 'dosjob' command in its job string.
  1219.  
  1220.       The difference between 'dosjob' and 'exec', is twofold.
  1221.       'dosjob' will start a new process to execute the job string,
  1222.       while 'exec' will use the current process.  Second, 'dosjob',
  1223.       (without the -W option) will open a new window for the process,
  1224.       while 'exec' will use the bounds of the current shell process.
  1225.  
  1226.       The command syntax is:
  1227.  
  1228.           dosjob [-W] [ MS-DOS command ]
  1229.                  [ / [ command ] /... ]
  1230.  
  1231.  
  1232.       NOTE:  'dosjob' essentially performs an 'assign' of a new
  1233.              SRCSINK channel to the console, followed by a 'set
  1234.              video -W' and a 'spawn' of a new child process, to
  1235.              execute the input command string.
  1236.  
  1237.  
  1238.       NOTE:  There is a direct keyboard combination to invoke a
  1239.              'dosjob'.  Pressing from the keyboard <Shift> <Enter> or
  1240.              <Shift> <Shift> <Enter>, will start a new task, just as
  1241.              if you had typed 'dosjob'.  The <Shift> <Enter> is used,
  1242.              instead of just the <Enter> key, after typing a command.
  1243.              If both <Shift> toggles are pressed when the Enter key is
  1244.              hit, the new task will use the full screen.  If only one
  1245.              <Shift> is held down, the task will start in a new window.
  1246.  
  1247.  
  1248.       dosjob /rshell    The easiest way to operate in the VMiX
  1249.              environment is to create a new virtual DOS machine every
  1250.              time you wish to start a new task.  Anytime you use the
  1251.  
  1252.  
  1253.       The Shell Commands                                     page 1-11
  1254.  
  1255.  
  1256.       C O M S O F T                                           VMiX 386
  1257.  
  1258.  
  1259.              'dosjob' command you are creating a new virtual DOS
  1260.              machine, however, it is more flexible to start it as a
  1261.              new shell from which to launch DOS commands than just to
  1262.              have it start a program.  To clone the startup (root)
  1263.              command shell into a 2nd shell, you would type:
  1264.  
  1265.                       do /rshell   or   do -W /rshell
  1266.  
  1267.              The '/' tells VMiX this is not a command for DOS, but
  1268.              for VMiX.  VMiX will ask you for a login name.  This is
  1269.              the name that the VMiX status line will display when this
  1270.              task is at the foreground for kbd input, type:
  1271.  
  1272.                        su
  1273.  
  1274.              This is a reserved name for a VMiX operator with 'kill'
  1275.              and 'swap' process priviledges.
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.       The Shell Commands                                     page 1-12
  1320.  
  1321.  
  1322.       C O M S O F T                                           VMiX 386
  1323.  
  1324.  
  1325.  
  1326.  
  1327.       NAME: spawn
  1328.       ____
  1329.  
  1330.       OUTLINE:
  1331.       _______
  1332.  
  1333.         -c  " sets spawn I/O channel and shell script"
  1334.  
  1335.       Purpose:  To dispatch a background task to be performed
  1336.       _______   independently and concurrently with everything else.
  1337.  
  1338.  
  1339.       DESCRIPTION:
  1340.       ___________
  1341.  
  1342.       'spawn' creates a new child process, owned by the invoking
  1343.       shell.  The channel specified immediately after the -c switch
  1344.       becomes the STDIO channel for the new process.  After the
  1345.       channel number, a script of VMiX shell commands can be entered.
  1346.       Multiple commands are input, separated by a valid VMiX delimiter
  1347.       ('/' ',' tab or space).
  1348.  
  1349.       The command syntax is:
  1350.  
  1351.            spawn -c???? [ [ command ] /... ]
  1352.  
  1353.       A way to implement EMAIL in your system, is to have a user spawn
  1354.       an exec job to somebody else's channel, where the 'exec' merely
  1355.       types a newly created text message file:
  1356.  
  1357.         spawn -c1 type b:\news\myfile.txt
  1358.  
  1359.  
  1360.       A more elegant way is to assign a new channel to the device COM1
  1361.       or COM?, so that we can create a window without disturbing the
  1362.       user.  If a window is created on the user's own channel, then we
  1363.       have modified his environment from our side.
  1364.  
  1365.       By using 'dstat -a', we can determine the port # to use to talk
  1366.       with our target user.  In VMiX, ports refers to physical
  1367.       devices, and channels are logical connections to those devices.
  1368.       Assume we determined that he is using COM1.  From the debugger
  1369.       shell, we first enable system messages, to see what channel
  1370.       number VMiX will allocate during our 'assign' command:
  1371.  
  1372.         set system -m    (enables manager msgs.)
  1373.  
  1374.       then we grab a channel,
  1375.  
  1376.         assign srcsink 1     (the 1 requests COM1, if you prefer to be
  1377.                               prompted, just type 'assign')
  1378.  
  1379.       assume that we were informed that channel 6 was assigned, then:
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.       The Shell Commands                                     page 1-13
  1386.  
  1387.  
  1388.       C O M S O F T                                           VMiX 386
  1389.  
  1390.  
  1391.       now we 'spawn' to channel 6,
  1392.  
  1393.         spawn -c6 / set video -w1 40 10 79 / type b:\news\myfile.txt
  1394.  
  1395.  
  1396.       This created a 10 x 40 window (via channel 6) at the top right
  1397.       corner of his display.  In the example above, the command
  1398.       'set video -W' could have been used, in place of our manual
  1399.       'set video -w....' .
  1400.  
  1401.       Still, a better EMAIL system could be written using the VMiX
  1402.       API System Services listed in SYSGATE.ASM.
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.       The Shell Commands                                     page 1-14
  1452.  
  1453.  
  1454.       C O M S O F T                                           VMiX 386
  1455.  
  1456.  
  1457.  
  1458.  
  1459.       NAME: kill
  1460.       ____
  1461.  
  1462.       OUTLINE:
  1463.       _______
  1464.  
  1465.       Purpose:  To terminate the execution of an image (.EXE or .COM)
  1466.       _______   from a process other than the owner.  If the target
  1467.                 process shell is not executing an image, then the
  1468.                 process is killed.
  1469.  
  1470.  
  1471.       DESCRIPTION:
  1472.       ___________
  1473.  
  1474.       'kill' allows a hard terminate of a process or image to be
  1475.       commanded from another process.  This command has two levels
  1476.       of action.  If the target process shell is executing an image
  1477.       started by a previous exec call, then that image is terminated
  1478.       via an MS-DOS INT 20h system call.  If no image is being
  1479.       executed then 'kill' will terminate the target process.
  1480.  
  1481.       The command syntax is:
  1482.  
  1483.         kill [ process id ]
  1484.  
  1485.       The utility 'PS.EXE', will list all active (pid's) process id's.
  1486.  
  1487.       SECURITY:  The kill command will normally not allow a user to
  1488.       ________   terminate another user's process.  Only root or the
  1489.                  'su' superuser has the access priviledge to terminate
  1490.                  all/any.  A regular user can only terminate his own
  1491.                  spawned processes.
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.       The Shell Commands                                     page 1-15
  1518.  
  1519.  
  1520.       C O M S O F T                                           VMiX 386
  1521.  
  1522.  
  1523.  
  1524.  
  1525.       NAME: quit
  1526.       ____
  1527.  
  1528.       OUTLINE:
  1529.       _______
  1530.  
  1531.       Purpose:  To terminate the shell and exit.
  1532.       _______
  1533.  
  1534.  
  1535.       DESCRIPTION:
  1536.       ___________
  1537.  
  1538.       'quit' decrements a process's shell level (number of nested
  1539.       shells) by one and returns to the previous shell, if any.
  1540.       The root shell is VMiX's top shell for any given user process
  1541.       If this command is invoked at the root shell level, the user
  1542.       process is ended.
  1543.  
  1544.       Normally, the first process started at the console has root
  1545.       privilege.  If the process has privilege and is also the root
  1546.       VMiX process, then VMiX is also terminated.
  1547.  
  1548.       In other words, if you are at the first VMiX shell you type
  1549.       'quit' to end VMiX and return to DOS, otherwise 'quit' will just
  1550.       terminate the current shell or process.
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.       The Shell Commands                                     page 1-16
  1584.  
  1585.  
  1586.       C O M S O F T                                           VMiX 386
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.                                     PART TWO
  1600.  
  1601.  
  1602.                                     VMiX 386
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.                                     REFERENCE
  1612.  
  1613.  
  1614.                               THE DEBUGGER COMMANDS
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.       The Debugger Commands                                   page 2-1
  1650.  
  1651.  
  1652.       C O M S O F T                                           VMiX 386
  1653.  
  1654.  
  1655.  
  1656.  
  1657.       NAME: assign
  1658.       ____
  1659.  
  1660.       OUTLINE:
  1661.       _______
  1662.  
  1663.       'assign' allocates a VMiX channel to an owner UID (universal id)
  1664.       and assigns a VMiX object to the channel.
  1665.  
  1666.       'assign' allocates extended memory.
  1667.  
  1668.       'assign gdt' allocates a VMiX 386 global descriptor table entry,
  1669.       returning a new segment selector for either code or data.
  1670.  
  1671.  
  1672.       DESCRIPTION:
  1673.       ___________
  1674.  
  1675.  
  1676.       VMiX CHANNEL MANAGER OVERVIEW
  1677.       _____________________________
  1678.  
  1679.       The function of the channel manager is usually transparent to
  1680.       the user, but experienced users can make use of the low level
  1681.       interface and manipulate channels directly.
  1682.  
  1683.       The VMiX input/output system consists of I/O objects and I/O
  1684.       channels.  All VMiX objects are assigned an universal identifier
  1685.       or UID, including processes.  The 'assign' command is provided
  1686.       to establish connections between objects by assigning channels
  1687.       that link the connection, usually to an external port number.
  1688.       These assigned channels can then be referenced by other VMiX
  1689.       commands.
  1690.  
  1691.       The basic VMiX objects consist of the following:
  1692.  
  1693.         OBJECT TYPE NAME DEFINITIONS
  1694.  
  1695.         PROCESS   type is a process
  1696.         SRCSINK   type is a tty terminal
  1697.         CHRSINK...type is a printer
  1698.         DSKFILE   type is a file
  1699.         MEMORY    type is a memory block
  1700.         BLKSINK   type is a disk drive
  1701.         MANAGER   type is an obj manager or driver
  1702.         MAILBOX   type is a mailbox
  1703.         DATLINK   type is a data link
  1704.  
  1705.  
  1706.         PORTS     these are external resources like serial COMM ports
  1707.                   or LPT printer ports (they are sequentially numbered
  1708.                   starting at 0).
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.       The Debugger Commands                                   page 2-2
  1716.  
  1717.  
  1718.       C O M S O F T                                           VMiX 386
  1719.  
  1720.  
  1721.       Internally, objects are assigned a numeric identifier or UID.
  1722.       These can be listed by the utility 'DSTAT.EXE'.  Channel numbers
  1723.       are assigned sequentially on a first use basis.  Deassigned or
  1724.       free channel numbers are reused. 'assign' can be used to
  1725.       allocate extended memory, to establish channels to external
  1726.       ports, and to assign channels to processes.
  1727.  
  1728.  
  1729.       The general syntax for the 'assign' command is:
  1730.  
  1731.         assign [ client UID / process id ] [ object type ]
  1732.                [ target port / channel id ]
  1733.  
  1734.       where,
  1735.  
  1736.       UID is the identification of the new owner for the channel.
  1737.       Note:  if the owner is to be a process, the PID is equivalent to
  1738.       the UID of the process.
  1739.  
  1740.       If client process id is omitted, it defaults to the current
  1741.       process.
  1742.  
  1743.  
  1744.       The object type is one of the 9 type names described above.
  1745.       The complete name must be typed, in upper or lower case.
  1746.  
  1747.       Ports available for use with SRCSINK type objects (terminals):
  1748.  
  1749.         0   The Root Console
  1750.         1   COM1:
  1751.         2   COM2:
  1752.         3   COM3:
  1753.         4   COM4:
  1754.  
  1755.  
  1756.       Ports available for use with CHRSINK type objects (printers):
  1757.  
  1758.         1   LPT1:
  1759.         2   LPT2:
  1760.  
  1761.  
  1762.  
  1763.       This command syntax creates a channel by linking it to a port:
  1764.  
  1765.       If object type is SCRSINK, then the third argument is a COMM
  1766.       port (0-4), where 0 refers to the console and 1 - 4 are serial
  1767.       ports.
  1768.  
  1769.       If object type is CHRSINK, then the third argument is an LPT
  1770.       port (1-2).
  1771.  
  1772.  
  1773.  
  1774.       This command syntax assigns a previously created channel to a
  1775.       running process:
  1776.  
  1777.       If object type is PROCESS, then the third argument is a
  1778.       previously assigned channel id.
  1779.  
  1780.  
  1781.       The Debugger Commands                                   page 2-3
  1782.  
  1783.  
  1784.       C O M S O F T                                           VMiX 386
  1785.  
  1786.  
  1787.       You can use the 'assign process' syntax to assign a new STDIO
  1788.       channel to your executing process.  The original STDIO channel
  1789.       of the process will remain available for restoring the process
  1790.       back to its original state.  You must repeat the 'assign', and
  1791.       give the process its old channel id.
  1792.  
  1793.        The general syntax for the 'assign process' command is:
  1794.  
  1795.                assign [ client process id ] PROCESS
  1796.                       [ channel id to assign ]
  1797.  
  1798.       If client process id is omitted, it defaults to the current
  1799.       process.  The new channel you assign must already exist.
  1800.  
  1801.       You can reassign a process standard I/O (keyboard and video) to
  1802.       the console, to a COMM port, or to a printer type channel.  For
  1803.       example, to redirect process #1 (use PS.EXE to get the process
  1804.       id) to COM2 (channel #2), you would type:
  1805.  
  1806.                assign 1 PROCESS 2
  1807.  
  1808.       Again, VMiX will prompt you for any arguments missing after the
  1809.       'assign' command, except for the first argument which is an
  1810.       optional argument.
  1811.  
  1812.  
  1813.  
  1814.       This command syntax assigns an extended memory block:
  1815.  
  1816.       If object type is MEMORY, then the third argument is a block
  1817.       size in bytes, to assign to the channel.  The size will be
  1818.       rounded-up to the nearest 64k block.  Only extended memory can
  1819.       be allocated by this command.
  1820.  
  1821.       The extended memory pool can be listed with the utility
  1822.       'MONITOR.EXE -p'.
  1823.  
  1824.  
  1825.       NOTE:  To be informed, on the screen, of the channel assigned by
  1826.       this command, use the debugger command 'set system -m' to enable
  1827.       channel manager messages, before the assign.
  1828.  
  1829.       NOTE:  When assigning a channel to a SRCSINK that is going to be
  1830.       used for logins, the UID identifing the new owner of the channel
  1831.       must be set to 0, to indicate the UID of the scheduler,
  1832.       (example, 'assign 0 srcsink 1').
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.       The Debugger Commands                                   page 2-4
  1848.  
  1849.  
  1850.       C O M S O F T                                           VMiX 386
  1851.  
  1852.  
  1853.       Assigning 386 Global Descriptors:
  1854.  
  1855.       The command syntax is:
  1856.  
  1857.         assign gdt [ access [ / size ] [ / segment ] ]
  1858.  
  1859.  
  1860.       where,
  1861.  
  1862.       access is usually entered as the word 'code', if the segment is
  1863.       a code segment or as the word 'data', if the access byte of the
  1864.       gdt descriptor is to be set to data segment access rights.  The
  1865.       user can also enter a decimal or hexadecimal value, if he wishes
  1866.       to override the default access rights value that VMiX uses for
  1867.       its segments.
  1868.  
  1869.       The parameters can be entered in hexadecimal, using the format
  1870.       0x????  (example, 'assign gdt 0x9B 10 0xF000'
  1871.                or       'assign gdt code 10 0xF000').
  1872.       size is the size that the segment is to have, specified as the
  1873.       number of 512 Byte pages.
  1874.  
  1875.       segment is the segment address in physical memory that the
  1876.       selector is to translate to, when loaded onto a segment
  1877.       register.
  1878.  
  1879.       If mamager messages are enabled, this command will return a new
  1880.       selector id.
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.       The Debugger Commands                                   page 2-5
  1914.  
  1915.  
  1916.       C O M S O F T                                           VMiX 386
  1917.  
  1918.  
  1919.  
  1920.  
  1921.       NAME: deassign
  1922.       ____
  1923.  
  1924.       OUTLINE:
  1925.       _______
  1926.  
  1927.            'deassign' deallocates a VMiX channel.
  1928.  
  1929.            'deassign gdt' deallocates a VMiX gdt selector.
  1930.  
  1931.            'deassign mem' deallocates a VMiX extended memory block.
  1932.  
  1933.  
  1934.       DESCRIPTION:
  1935.       ___________
  1936.  
  1937.       The command syntax is:
  1938.  
  1939.         deassign [ channel ]
  1940.  
  1941.       where,
  1942.  
  1943.       channel specifies the channel number to deassign.  This can be a
  1944.       dangerous command to execute, since STDIO to the root console
  1945.       (channel  0) could be deassigned, freezing the console.  If no
  1946.       other shell is running, there is no way to assign the STDIO to
  1947.       the root console again.
  1948.  
  1949.       NOTE:  To be informed, on the screen, of the channel and
  1950.       IO Request Packets (IRP) deassigned by this command, use the
  1951.       debugger shell command 'set system -m' to enable channel manager
  1952.       messages, before the 'deassign'.
  1953.  
  1954.  
  1955.  
  1956.       The command syntax is:
  1957.  
  1958.         deassign gdt [ selector ]
  1959.  
  1960.  
  1961.       where,
  1962.  
  1963.       selector is the gdt selector returned by an 'assign gdt'.
  1964.  
  1965.  
  1966.  
  1967.       The command syntax is:
  1968.  
  1969.         deassign mem [ page ]
  1970.  
  1971.  
  1972.       where, page is the extended memory page to return to the free
  1973.       memory pool.  The memory was previously assigned with the
  1974.       'assign' command.
  1975.  
  1976.       The extended memory pages can be listed with the utility
  1977.       'MONITOR.EXE -p'.
  1978.  
  1979.       The Debugger Commands                                   page 2-6
  1980.  
  1981.  
  1982.       C O M S O F T                                           VMiX 386
  1983.  
  1984.  
  1985.  
  1986.  
  1987.       NAME: init
  1988.  
  1989.       OUTLINE:
  1990.  
  1991.  
  1992.       clock
  1993.             " resets the VMiX system timer 11msec clock"
  1994.  
  1995.       comm
  1996.         -c  " sets communications:
  1997.               chan, baud, parity, word, stop"
  1998.  
  1999.       print
  2000.         -p  " inits parallel port: chan"
  2001.  
  2002.  
  2003.       DESCRIPTION:
  2004.       ___________
  2005.  
  2006.       (See 'set baud'.)
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.       The Debugger Commands                                   page 2-7
  2046.  
  2047.  
  2048.       C O M S O F T                                           VMiX 386
  2049.  
  2050.  
  2051.  
  2052.  
  2053.       NAME: examine
  2054.       ____
  2055.  
  2056.       OUTLINE:
  2057.       _______
  2058.  
  2059.       mcb      " displays information on the MS-DOS memory control
  2060.                  blocks"
  2061.  
  2062.       memory   " displays or modifies memory"
  2063.  
  2064.       status   " displays system configuration"
  2065.  
  2066.  
  2067.       DESCRIPTION:
  2068.       ___________
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.       The Debugger Commands                                   page 2-8
  2112.  
  2113.  
  2114.       C O M S O F T                                           VMiX 386
  2115.  
  2116.  
  2117.  
  2118.  
  2119.       NAME: set
  2120.       ____
  2121.  
  2122.       OUTLINE:
  2123.       _______
  2124.  
  2125.       This is the basic configuration function.  There are several
  2126.       keywords that can be given after the 'set' token to further
  2127.       specify the area for configuration.
  2128.  
  2129.       baud
  2130.         -c  " sets communications:
  2131.               chan, baud, parity, word, stop"
  2132.  
  2133.       dos
  2134.         -e  " toggles DOS environment protection ON/OFF"
  2135.         -f  " toggles DOS process file inherit ON/OFF"
  2136.         -n  " sets DOS INT21 function maximum nesting level"
  2137.         -p  " sets DOS current process PSP: nuPSP(seg)"
  2138.         -s  " sets DOS virtual size: nusize (4Kb blocks)"
  2139.  
  2140.       font
  2141.         -t  " sets font type (0 - 3)"
  2142.  
  2143.       pool
  2144.         -a  " adjusts program memory: MCB(seg), nusize(para)"
  2145.         -m  " sets program partition size (0 - 1024K)"
  2146.         -o  " sets program memory owner: MCB(seg), nuPSP(seg)"
  2147.  
  2148.       process
  2149.         -b  " sets process shell buffer size (0 - 127)"
  2150.         -d  " sets process wait: seconds"
  2151.         -h  " toggles hardware priviledge ON/OFF"
  2152.         -q  " sets queued process contention timer (0 - 255)"
  2153.         -s  " toggles system priviledge ON/OFF"
  2154.         -t  " sets duration of process time slice: ticks - 1"
  2155.         -w  " sets I/O wait before preemption: count"
  2156.  
  2157.       remote
  2158.         -a  " toggles polling of all channels ON/OFF"
  2159.         -c  " sets remote console channel"
  2160.         -i  " toggles fast RS232 ON/OFF"
  2161.         -l  " sets terminal login channel"
  2162.         -x  " toggles terminal logins ON/OFF"
  2163.  
  2164.       system
  2165.         -c  " toggles cursor emulation ON/OFF"
  2166.         -d  " sets frequency of scheduler time slice: ticks - 1"
  2167.         -m  " toggles operator messages ON/OFF"
  2168.         -s  " toggles swapper ON/OFF"
  2169.         -t  " toggles scheduler ON/OFF"
  2170.         -v  " toggles 736Kb DOS space ON/OFF"
  2171.         -w  " sets shutdown wait delay: seconds"
  2172.  
  2173.       terminal
  2174.         -t  " sets terminal type (0 - 9)"
  2175.  
  2176.  
  2177.       The Debugger Commands                                   page 2-9
  2178.  
  2179.  
  2180.       C O M S O F T                                           VMiX 386
  2181.  
  2182.  
  2183.       video
  2184.         -c  " sets video background/foreground colors"
  2185.         -C  " sets window background/foreground colors"
  2186.         -m  " sets video mode (0 - 18)"
  2187.         -p  " sets video page (0 - 3)"
  2188.         -s  " toggles status display ON/OFF"
  2189.         -w  " sets window size: row0, col0, row1, col1"
  2190.         -W  " auto partitions task windows (Shift-Tab toggles kbd)"
  2191.  
  2192.  
  2193.       DESCRIPTION:
  2194.       ___________
  2195.  
  2196.  
  2197.       VMiX SERIAL COMMUNICATIONS
  2198.       __________________________
  2199.  
  2200.       set baud
  2201.  
  2202.       A valid channel (normally equivalent to a COMM port 1 to 4) must
  2203.       be given after the -c  switch.
  2204.  
  2205.       The command syntax is:
  2206.  
  2207.         set baud -c [ channel id ] [ baud rate ] [,] [ parity ] [,]
  2208.                     [ word size ] [,] [ stop bits ]
  2209.  
  2210.       VALID BAUD RATES
  2211.  
  2212.       300    [ same as 30 ]
  2213.       1200   [ same as 12, 120 ]
  2214.       2400   [ same as 24, 240 ]
  2215.       4800   [ same as 48, 480 ]
  2216.       9600   [ same as 96, 960 ]    (Default Baud Rate)
  2217.       19200  [ same as 192, 1920 ]  (Always interrupt driven)
  2218.       38400  [ same as 384, 3840 ]  (Always interrupt driven)
  2219.       115200 [ same as 115, 1152 ]  (Always interrupt driven)
  2220.  
  2221.  
  2222.       All parameters, except the channel number and the Baud Rate
  2223.       are optional.
  2224.  
  2225.       There can only be one channel at a baud rate above 9600, at any
  2226.       one time.  To set a different channel to a high baud rate, you
  2227.       must first close (reset) the current interrupt driven channel
  2228.       by using the command 'set baud -c????' (where ???? is the
  2229.       channel id).  Note that no new baud rate is specified.  After
  2230.       this command completes, you may set baud, specifying a new
  2231.       channel.
  2232.  
  2233.  
  2234.       VMiX INT 14h - Driver Note:
  2235.  
  2236.       When programming to the BIOS INT 14h Serial Service, VMiX uses
  2237.       the BIOS codes for:
  2238.                           110 Baud as the code for 19200 Baud
  2239.                           150 Baud as the code for 38400 Baud
  2240.                           600 Baud as the code for 115200 Baud
  2241.  
  2242.  
  2243.       The Debugger Commands                                  page 2-10
  2244.  
  2245.  
  2246.       C O M S O F T                                           VMiX 386
  2247.  
  2248.  
  2249.       VMiX MEMORY
  2250.       ___________
  2251.  
  2252.       set pool
  2253.  
  2254.       The -m  switch can be used to control the amount of memory .COM
  2255.       or .EXE programs can grab.  This command is equivalent to 'exec
  2256.       -m'.
  2257.  
  2258.       The command syntax is:
  2259.  
  2260.         set pool -m [ max. K bytes ]
  2261.  
  2262.  
  2263.       The -a switch is provided with the 'set  pool'  command, to
  2264.       allow for the release of memory previously allocated by MS-DOS
  2265.       or to change the size of an MS-DOS memory control block.  This
  2266.       option can also be used to increase or decrease a VMiX memory
  2267.       control block, and hence the number of pages of memory in the
  2268.       conventional memory pool.  The function depends on whether the
  2269.       segement address passed is for an MS-DOS MCB, or a VMiX MCB.  In
  2270.       the later case, the paged memory pool is affected.  This can be
  2271.       a dangerous option.  To help in determining the arguments for
  2272.       this switch, use the command 'examine mcb'.  It will list the
  2273.       memory control block chain, in low memory.
  2274.  
  2275.       The command syntax is:
  2276.  
  2277.         set pool -a [ MCB address [ / nusize ] ]
  2278.  
  2279.  
  2280.       where,
  2281.  
  2282.       the segment address of the MCB and nusize must be specified only
  2283.       in hexadecimal format.  (example, 'set pool -a 26F0 / AF8).
  2284.  
  2285.      The -o switch is provided to allow for the change of ownership
  2286.       of memory previously allocated by MS-DOS.
  2287.  
  2288.       The command syntax is:
  2289.  
  2290.         set pool -o [ MCB address [ / nuPSP ] ]
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.       The Debugger Commands                                  page 2-11
  2310.  
  2311.  
  2312.       C O M S O F T                                           VMiX 386
  2313.  
  2314.  
  2315.       VMiX PROCESS CONTROLS
  2316.       _____________________
  2317.  
  2318.       Managing process contention is necessary because of the preemptive
  2319.       nature of interrupt processing in the VMiX scheduler.  The command
  2320.       below will adjust the sensitivity of the contention timer.  A high
  2321.       argument, in the range 0 - 255, will allow interrupt intensive
  2322.       to dominate the system for a longer time slice.  A low setting will
  2323.       cause the contention timer to intervene more frequently on behalf
  2324.       of other tasks in the system that are waiting to execute.
  2325.  
  2326.       This capability keeps tasks running interrupt intensive programs
  2327.       (like communications programs) from totally blocking other tasks.
  2328.  
  2329.       The command syntax is:
  2330.  
  2331.       'set process -q????' - where ???? is the time (count - 1) before
  2332.                              a blocked task is given a big priority boost.
  2333.                              (default = 175 or 1.9 sec.)
  2334.  
  2335.  
  2336.       NOTE: ???? is a number 0 and 255 representing the number of timer
  2337.             tick counts MINUS ONE that a task can block other tasks in
  2338.             the READY queue because its priority is constantly been
  2339.             increased by the VMiX preemptive scheduling mechanisms.
  2340.             The default setting is 175, resulting in a maximum blocked
  2341.             delay for other tasks wanting a time slice of (176 * 11msec.)
  2342.             1.9 seconds.
  2343.  
  2344.             A 2400 baud program will receive interrupts about every
  2345.             3msec., causing each time an increase of its priority by 2.
  2346.             The scheduler runs every 11msec., thus finding the priority
  2347.             of that task higher by 6 and usually higher than other tasks,
  2348.             so without the contention timer described above, the current
  2349.             task would hog the system and not give other tasks a time
  2350.             slice.
  2351.  
  2352.  
  2353.       For optimization purposes, it is possible to control the length
  2354.       of time an active process will own the CPU, before it has to give
  2355.       it up to the next process in the READY queue.
  2356.  
  2357.       The command syntax is:
  2358.  
  2359.  
  2360.       'set process -t????' - where ???? is the time (count - 1) a task
  2361.                              will continiusly own the CPU in hundreds of
  2362.                              a second.  (default = 0 or 1/100 sec.)
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.       The Debugger Commands                                  page 2-12
  2376.  
  2377.  
  2378.       C O M S O F T                                           VMiX 386
  2379.  
  2380.  
  2381.       For optimization purposes, it is possible to control the frequency
  2382.       with which the scheduler task runs, to dispatch waiting processes
  2383.       (normally 100 times per second).
  2384.  
  2385.       The command syntax is:
  2386.  
  2387.  
  2388.      'set system  -t????' - where ???? is the time (count - 1) before
  2389.                             the scheduler will run again in hundreds of
  2390.                             a second.  (default = 0 or 1/100 sec.)
  2391.  
  2392.  
  2393.  
  2394.       MULTIUSER TERMINALS
  2395.       ___________________
  2396.  
  2397.  
  2398.       The 'set remote' command is identical to the 'remote' command
  2399.       discussed in Section 1.
  2400.  
  2401.       The 'set terminal -t' command is used to specify one of 7
  2402.       terminal emulations available at the VMiX serial ports.
  2403.       Depending what you have connected as a user station to one of
  2404.       the host ports, you might need to select a different emulation
  2405.       than the default ANSI.
  2406.  
  2407.       TERMINAL EMULATIONS SUPPORTED
  2408.  
  2409.         -t0 = TELEVIDEO 910/920
  2410.         -t1 = ADM3A
  2411.         -t2 = VT-52
  2412.         -t3 = ZENITH H19
  2413.         -t4 = VT-100
  2414.         -t5 = Ansi (Default terminal emulation)
  2415.         -t9 = tty
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.       The Debugger Commands                                  page 2-13
  2442.  
  2443.  
  2444.       C O M S O F T                                           VMiX 386
  2445.  
  2446.  
  2447.       VMiX SCREEN COLOR SELECTION
  2448.       ___________________________
  2449.  
  2450.       Alphanumeric Text Modes:
  2451.  
  2452.       The command syntax is:
  2453.  
  2454.         set video -c [ color code ]
  2455.         set video -C [ color code ]
  2456.  
  2457.  
  2458.       The color code is a 2 digit hexadecimal number of the form:
  2459.  
  2460.       0xBF
  2461.  
  2462.  
  2463.       where,
  2464.  
  2465.       B is the background color key and F is the foreground color key,
  2466.       selected fron the table below.  To use this method, the color
  2467.       code argument must be entered in hexadecimal format.  Because
  2468.       the argument is in hexadecimal, it must be preceeded by an '0x'.
  2469.  
  2470.  
  2471.        COLOR KEYS
  2472.  
  2473.        B  BACKGROUNDS     F  FOREGROUNDS
  2474.  
  2475.        0   black          0 black   8  gray
  2476.        1   blue           1 blue    9  lt. blue
  2477.        2   green          2 green   A  lt. green
  2478.        3   cyan           3 cyan    B  lt. cyan
  2479.        4   red            4 red     C  lt. red
  2480.        5   magenta        5 magenta D  lt. mag
  2481.        6   brown          6 brown   E  yellow
  2482.        7   white          7 white   F  brt white
  2483.  
  2484.  
  2485.       Graphics Modes:
  2486.  
  2487.       The command syntax is:
  2488.  
  2489.         set video -c [ color code ]
  2490.         set video -C [ color code ]
  2491.  
  2492.       The color code is a decimal or hexadecimal  number  which
  2493.       represents the pixels on(1) or off(0) binary patterns on the
  2494.       screen.  See the color code table given below.
  2495.  
  2496.       COLOR CODES
  2497.  
  2498.       DECIMAL   HEXADECIMAL
  2499.  
  2500.          0         0x00      00000000  black
  2501.          85        0x55      01010101  gray
  2502.         170        0xAA      10101010  gray
  2503.         255        0xFF      11111111  white
  2504.  
  2505.  
  2506.  
  2507.       The Debugger Commands                                  page 2-14
  2508.  
  2509.  
  2510.       C O M S O F T                                           VMiX 386
  2511.  
  2512.  
  2513.       VMiX CONSOLE STATUS LINE
  2514.       _______________________
  2515.  
  2516.  
  2517.       set video
  2518.  
  2519.         -s  " toggles status display ON/OFF"
  2520.  
  2521.  
  2522.       The VMiX status line displays at the bottom of the console
  2523.       display, when enabled with the command 'set video -s' from the
  2524.       Root Shell.  You should enable the status line BEFORE other
  2525.       tasks are started.  If the status line is enabled after other
  2526.       windows are running, the screen for those tasks might not
  2527.       display the correct number of program lines.
  2528.  
  2529.            The status line displays:
  2530.  
  2531.                 the time
  2532.                 the current console VIO channel and task name
  2533.                 the current console video mode
  2534.                 the keyboard toggle keys
  2535.                     [Ins]
  2536.                     [Num Lock]
  2537.                     [Caps Lock]
  2538.                     [Scroll Lock]
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.       The Debugger Commands                                  page 2-15
  2574.  
  2575.  
  2576.       C O M S O F T                                           VMiX 386
  2577.  
  2578.  
  2579.       VMiX WINDOW SIZING
  2580.       __________________
  2581.  
  2582.  
  2583.       set video
  2584.  
  2585.         -w  " sets root window size: y0, x0, y1, x1"
  2586.  
  2587.  
  2588.       The -w switch is used to  specify the bounds of a new root
  2589.       window.  A root window is where all user dialog with the
  2590.       operating system takes place.
  2591.  
  2592.  
  2593.       0
  2594.          --------------------------------------------------------
  2595.         | VMiX.386 2.6X               Copyright ComSoft, Inc.1991|
  2596.         |--------------------------------------------------------|
  2597.         |                                                        |
  2598.         |                                                        |
  2599.       r | TOP left corner                                        |
  2600.         | *----------------------------                          |
  2601.   Y   o | |y,x                         |                         |
  2602.         | |        WINDOW              |                         |
  2603.       w | |                            |                         |
  2604.         | |                         y,x|                         |
  2605.         |  ----------------------------*                         |
  2606.         |                              BOTTOM right corner       |
  2607.         |                                                        |
  2608.         |                                                        |
  2609.      24  --------------------------------------------------------
  2610.         0                         column                        79
  2611.                                     X
  2612.  
  2613.  
  2614.       The command syntax is:
  2615.  
  2616.         set video -w [ [ top row ]
  2617.                        [ , top col ]
  2618.                        [ , bot row ]
  2619.                        [ , bot col ] ]
  2620.  
  2621.  
  2622.  
  2623.       VMiX AUTO SCREEN PARTITIONING
  2624.       _____________________________
  2625.  
  2626.  
  2627.       set video
  2628.  
  2629.         -W, " auto partitions task windows
  2630.               (Shift-Tab moves kbd between windows)"
  2631.  
  2632.       Supports multitasking from the console (up to 4 windows).
  2633.       Note that the 'W' must be typed in upper-case, to distinguish
  2634.       it from the manual Size Window command, described above.
  2635.  
  2636.  
  2637.  
  2638.  
  2639.       The Debugger Commands                                  page 2-16
  2640.  
  2641.  
  2642.       C O M S O F T                                           VMiX 386
  2643.  
  2644.  
  2645.       The command syntax is:
  2646.  
  2647.         set video -W
  2648.  
  2649.  
  2650.       This command is sensitive to the number of channels that have
  2651.       been assigned to COM0, the console.  It uses this count to
  2652.       determine the number of windows to divide the screen.
  2653.  
  2654.       The 'set video -W' command, is intended to work in cunjunction
  2655.       with the 'assign' command.  The purpose is to split the screen
  2656.       to accomodate a new channel assigned for a console task, yet to
  2657.       be spawned.
  2658.  
  2659.       The nominal set of commands needed to manually start a
  2660.       background/windowed task at the console is:
  2661.  
  2662.         'set system -m'  will enable operator messages
  2663.  
  2664.         'assign srcsink 0'  will grab a new console (device 0)
  2665.                             channel and display its id # ????
  2666.  
  2667.         'spawn -c???? set video -W / exec .....'  will spawn a new
  2668.                                                   background task to
  2669.                                                   channel ?? assigned
  2670.                                                   and partition the
  2671.                                                   screen
  2672.  
  2673.         (press <Shift> <Tab> to move the keyboard to the new task
  2674.  
  2675.       The  above  sequence can be  replaced by the simpler to use,
  2676.       single command:
  2677.  
  2678.         'dosjob .....'
  2679.  
  2680.       where ..... is the same user job string input with spawn, above.
  2681.  
  2682.         'dosjob set video -W / exec .....'
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.       The Debugger Commands                                  page 2-17
  2706.  
  2707.  
  2708.       C O M S O F T                                           VMiX 386
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.                                    PART THREE
  2722.  
  2723.  
  2724.                                     VMiX 386
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.                                     REFERENCE
  2734.  
  2735.  
  2736.                                   THE UTILITIES
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.       The Utilities                                           page 3-1
  2772.  
  2773.  
  2774.       C O M S O F T                                           VMiX 386
  2775.  
  2776.  
  2777.  
  2778.  
  2779.       VMiX includes 8 utility programs:
  2780.  
  2781.         PS.EXE
  2782.         DSTAT.EXE
  2783.         DPATH.EXE
  2784.         LOADUP.EXE
  2785.         OUTSIDE.EXE
  2786.         MONITOR.EXE
  2787.         VT.EXE
  2788.         VW.EXE
  2789.  
  2790.  
  2791.       These programs assist VMiX users and are described below.
  2792.  
  2793.       Note that you do not need to be in a VMiX shell to execute one
  2794.       of the utilities.  VMiX only needs to be resident.  You may
  2795.       shell out of a word processing program running under VMiX and
  2796.       execute a utility from DOS.
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.       The Utilities                                           page 3-2
  2838.  
  2839.  
  2840.       C O M S O F T                                           VMiX 386
  2841.  
  2842.  
  2843.  
  2844.  
  2845.       NAME: ps.exe
  2846.       ____
  2847.  
  2848.       OUTLINE:
  2849.       _______
  2850.  
  2851.       ps    " displays all processes status"
  2852.  
  2853.  
  2854.       DESCRIPTION:
  2855.       ___________
  2856.  
  2857.       This utility displays a list of all currently active processes.
  2858.       Information on the job being executed, the current priority and
  2859.       assigned STDIO channel are listed.
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.       The Utilities                                           page 3-3
  2904.  
  2905.  
  2906.       C O M S O F T                                           VMiX 386
  2907.  
  2908.  
  2909.  
  2910.  
  2911.       NAME: dstat.exe
  2912.       ____
  2913.  
  2914.       OUTLINE:
  2915.       _______
  2916.  
  2917.       dstat   " displays all VMiX objects and channel information"
  2918.  
  2919.         -a    " selects only assigned objects"
  2920.         -r    " selects only free objects"
  2921.  
  2922.  
  2923.       DESCRIPTION:
  2924.       ___________
  2925.  
  2926.       This utility display the object id's of VMiX objects, the type
  2927.       of object and assigned channels.  If no channel is assigned,
  2928.       then -1 is displayed.  The scheduler (process id 0) owns free
  2929.       objects and channels.
  2930.  
  2931.       If a channel is associated with a COMM port, dstat will
  2932.       also display the current baud rate setting for the channel.
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.       The Utilities                                           page 3-4
  2970.  
  2971.  
  2972.       C O M S O F T                                           VMiX 386
  2973.  
  2974.  
  2975.  
  2976.  
  2977.       NAME: dpath.exe
  2978.       ____
  2979.  
  2980.       OUTLINE:
  2981.       _______
  2982.  
  2983.       dpath   " sets directory search PATH for data files"
  2984.  
  2985.         -v    " sets verbose mode (default)"
  2986.         -q    " sets quiet mode"
  2987.         -r    " allows data read only"
  2988.         -w    " allows data read/write (default)"
  2989.         -h    " displays help"
  2990.  
  2991.  
  2992.       DESCRIPTION:
  2993.       ___________
  2994.  
  2995.       DPATH is a public domain utility, modified to work with VMiX.
  2996.       This utility is similar to the MS-DOS command 'append' and lets
  2997.       you specify a path for DOS to use when searching for program
  2998.       data files (See DPATH.DOC).
  2999.  
  3000.       VMiX allows independent default disk drives for separate tasks
  3001.       (or shells) but only one default directory per drive.  You will
  3002.       need to use DPATH when running multiple applications on the same
  3003.       drive which require different default directories.  You use
  3004.       DPATH the same way you use the MS-DOS command PATH to specify
  3005.       the search path for executables.
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.       The Utilities                                           page 3-5
  3036.  
  3037.  
  3038.       C O M S O F T                                           VMiX 386
  3039.  
  3040.  
  3041.  
  3042.  
  3043.       NAME: loadup.exe
  3044.       ____
  3045.  
  3046.       OUTLINE:
  3047.       _______
  3048.  
  3049.       loadup  " VMiX loadhi utility to place TSRs above 640Kb"
  3050.  
  3051.  
  3052.       DESCRIPTION:
  3053.       ___________
  3054.  
  3055.       This utility can be executed from inside VMiX to load a TSR or
  3056.       VMiX itself to upper memory above segment C000h (386 Mode Only!).
  3057.       
  3058.       The loaded TSR will be visible only to the process that started
  3059.       it, since each VMiX task is virtually mapped to a separate
  3060.       virtual first megabyte.  This means that you can have different
  3061.       (or the same) TSRs active for each partition.
  3062.  
  3063.       LOADUP will NOT load TSR's on 8086 or 286 computers, unless upper
  3064.       memory is already provided by EMS hardware or other EMS software.
  3065.  
  3066.       VMiX is compatible with XMS drivers, like HIMEM.SYS and HIDOS.SYS.
  3067.       However, VMiX will not work with other 80386 virtual memory managers,
  3068.       like QEMM.SYS, WIN.COM, 386MAX.SYS, or EMM386.SYS and defaults to
  3069.       8086 Mode when it detects them.
  3070.  
  3071.       Since you can not use another extended memory manager when using
  3072.       VMiX, the LOADUP utility has been provided to move TSRs or VMiX
  3073.       to upper memory.
  3074.  
  3075.       The command syntax is:
  3076.  
  3077.              LOADUP [/help] [/segment=] [/size=] filespec
  3078.  
  3079.  
  3080.       TO LOAD TSRs (except VMiX)
  3081.       __________________________
  3082.  
  3083.       We recommend that you do the first TSR load with /size=128
  3084.       (number of 1Kb blocks) and reduce the size if LOADUP reports
  3085.       memory unavailable.
  3086.  
  3087.       For subsequent TSR loads, invoke LOADUP again, this time with
  3088.       /size=0, since the upper memory block has already being assigned,
  3089.       but not necessarily all used.  New TSRs will look for unused
  3090.       memory within the upper memory block assigned in the first
  3091.       LOADUP.
  3092.  
  3093.       When LOADUP is first invoked, you want to specify a size equal
  3094.       to the largest contiguous space available above your video ROM
  3095.       area (depending on your HDisk controller and other installed
  3096.       adapters, this area size is usually between 64 and 160 kilobytes).
  3097.  
  3098.  
  3099.  
  3100.  
  3101.       The Utilities                                           page 3-6
  3102.  
  3103.  
  3104.       C O M S O F T                                           VMiX 386
  3105.  
  3106.  
  3107.       If no size is given, LOADUP looks for 64 Kbytes in upper memory
  3108.       to load the TSR.  The second, third, etc. time a TSR is loaded,
  3109.       you should specify a size of 0 (or, if known, the actual size
  3110.       required by the TSR).
  3111.  
  3112.       If you know what you are doing, you may also specify the load
  3113.       segment location (i.e., /segment=D000).
  3114.  
  3115.       If your TSRs requires less than 64 Kbytes, then 'LOADUP filespec'
  3116.       will work fine without any arguments.
  3117.  
  3118.  
  3119.       TO LOAD VMiX
  3120.       ____________
  3121.  
  3122.       The LOADUP.EXE utility is able to RELOCATE VMiX TO UPPER MEMORY,
  3123.       in 386 computers.  If your system has between 130 and 160 Kbytes
  3124.       unused space between the Video ROM and the System ROM, VMiX might
  3125.       fit there (depending on the Version, Shareware vs Reg'd).
  3126.  
  3127.       Relocating the system reduces the DOS footprint of VMiX to only
  3128.       38Kb, which will allow larger programs to fit in virtual memory.
  3129.  
  3130.       To load VMiX high you must first have started a copy of VM_BOOT
  3131.       in your 386 computer with the startup parameter EMS=FFFF, so that
  3132.       the first copy of VMiX will not try to initialize EMS memory in
  3133.       the target upper memory area.  To relocate VMiX requires 130 to
  3134.       160 Kbytes of unused upper memory, usually from segment address
  3135.       C800 (or CC00) thru EFFF.
  3136.  
  3137.       Sample command line to load VMiX to upper memory:
  3138.  
  3139.              VM_BOOT ems=ffff/loadup vm_boot ...
  3140.  
  3141.       Wait until the first copy of VMiX has shutdown and the new upper
  3142.       memory copy has started.  The entire process is automatic.
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.       The Utilities                                           page 3-7
  3168.  
  3169.  
  3170.       C O M S O F T                                           VMiX 386
  3171.  
  3172.  
  3173.  
  3174.  
  3175.       NAME: outside.exe
  3176.       ____
  3177.  
  3178.       OUTLINE:
  3179.       _______
  3180.  
  3181.       outside " MS-DOS shelling utility for bulletin board
  3182.                 software executing under VMiX"
  3183.  
  3184.         -c    " selects the COMM port channel for the remote outside
  3185.                 shell"
  3186.  
  3187.  
  3188.       DESCRIPTION:
  3189.       ___________
  3190.  
  3191.       Bulletin Board software usually allows you to install a program
  3192.       to execute when the SysOp desires to shell out to DOS to perform
  3193.       some maintenance.
  3194.  
  3195.       This utility allows you to shell to DOS, when running the BBS
  3196.       software under VMiX.  'Outside' will spawn a new task for the
  3197.       DOS shell, independent of the BBS task.
  3198.  
  3199.         -c1   shell to DOS on COM1    (default)
  3200.         -c2   shell to DOS on COM2
  3201.         -c3   shell to DOS on COM3
  3202.         -c4   shell to DOS on COM4
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.       The Utilities                                           page 3-8
  3234.  
  3235.  
  3236.       C O M S O F T                                           VMiX 386
  3237.  
  3238.  
  3239.  
  3240.  
  3241.       NAME: monitor.exe
  3242.       ____
  3243.  
  3244.       OUTLINE:
  3245.       _______
  3246.  
  3247.       monitor " utility monitors process or system"
  3248.  
  3249.         -f    " displays information on any open files on the system"
  3250.         -m    " displays a memory map of the first megabyte of
  3251.                 address space"
  3252.         -p    " displays information on the VMiX paged memory pools
  3253.                 in conventional and extended memory"
  3254.         -r    " monitors process registers continuously: process id"
  3255.  
  3256.  
  3257.       DESCRIPTION:
  3258.       ___________
  3259.  
  3260.       The command syntax is:
  3261.  
  3262.         monitor [ -f ] [ -m ] [ -p ] [ -r ] [ process id ]
  3263.  
  3264.  
  3265.       If all switches are omitted, the process block of any specified
  3266.       process will be displayed.  If no process id is given, you will
  3267.       be asked to supply one; if none is supplied, the default is the
  3268.       current process.
  3269.  
  3270.       When the '-r' switch is included before the process id, the
  3271.       process registers will be continuously monitored until the
  3272.       'Esc' or the <Ctrl> Break key is pressed.
  3273.  
  3274.       While in the register viewing mode, pressing <Ctrl> S will put the
  3275.       process being viewed to sleep.  Pressing <Ctrl> Q will wake the
  3276.       process.
  3277.  
  3278.       While in the register viewing mode, pressing the 'M' key will
  3279.       allow you to examine and/or modify memory locations.
  3280.  
  3281.       The address format is:
  3282.  
  3283.         segment [ : offset ] [ = byte ]
  3284.  
  3285.  
  3286.       where,
  3287.  
  3288.       the '= byte' is optional, for example:
  3289.  
  3290.         hex address? 550A             displays segment 550A:0
  3291.         hex address? 550A:100         displays segment 550A:100
  3292.         hex address? 550A:100 = FF    sets byte at 550A:100 to FF
  3293.  
  3294.       The 'examine memory' command does the equivalent from the VMiX
  3295.       shell.
  3296.  
  3297.  
  3298.  
  3299.       The Utilities                                           page 3-9
  3300.  
  3301.  
  3302.       C O M S O F T                                           VMiX 386
  3303.  
  3304.  
  3305.       'monitor -f' allows all open files on a VMiX system to be
  3306.       globally monitored.  Open files will be listed and revised until
  3307.       the 'Esc' key is pressed.
  3308.  
  3309.       'monitor -m' displays a map of the first one megabyte of memory
  3310.       space.  The screen displays memory in 1Kbyte (1024) blocks.  If
  3311.       the block is in use by the system, then it is marked by a '$' or
  3312.       a solid black block, in graphics mode.  If the block is in use
  3313.       by VMiX, then it is marked by a 'V' or a gray shaded block.
  3314.       Memory control blocks are distinguished by an '='  or a small
  3315.       solid black block with border, in graphics mode.  Memory not in
  3316.       use is  indicated by an '.' or a small solid white block with
  3317.       border.
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.       The Utilities                                          page 3-10
  3366.  
  3367.  
  3368.       C O M S O F T                                           VMiX 386
  3369.  
  3370.  
  3371.  
  3372.  
  3373.       NAME: vsetup.exe
  3374.       ____
  3375.  
  3376.       OUTLINE:
  3377.       _______
  3378.  
  3379.       vsetup   "Utility executed at startup to process the VMiX
  3380.                 configuration file, VMiX.INI
  3381.  
  3382.  
  3383.  
  3384.       DESCRIPTION:
  3385.       ___________
  3386.  
  3387.       VMiX.INI is a text autoconfigure file that allows startup
  3388.       scripts, remote login passwords, and remote login scripts
  3389.       to be specified by the VMiX system administrator.
  3390.  
  3391.       This flexible configuration file assists you in:
  3392.  
  3393.           A) configuring VMiX startup - VMiX or DOS commands that
  3394.              get executed automatically, after you start the
  3395.              VM_BOOT.EXE program.
  3396.  
  3397.           B) entering passwords - up to 8 character long passwords
  3398.              used to provide controlled access to a VMiX system
  3399.              that has been configured to accept remote callers
  3400.              with the 'set remote -l' command.
  3401.  
  3402.           C) specifying user programs to autostart after a remote
  3403.              caller has logged-in via a COMM port.
  3404.  
  3405.  
  3406.       The configuration file is optional and it works in cunjunction
  3407.       with the VSETUP.EXE utility.  This utility is normally invoked
  3408.       in two ways:
  3409.  
  3410.           1. in the VMiX startup command line
  3411.  
  3412.              To ensure that VSETUP.EXE can always find VMiX.INI,
  3413.              the best way to start VMiX is with a full filespec and
  3414.              path for VM_BOOT.EXE,
  3415.  
  3416.              ie., C:\VMiX\VM_BOOT VSETUP  (from the VMiX directory)
  3417.  
  3418.              then, you can change directories, and reset paths and
  3419.              VSETUP will always find VMiX.INI (during remote logins).
  3420.  
  3421.           2. appended to the end of a 'set remote -l' command
  3422.              (for example: set remote -l2 vsetup).
  3423.  
  3424.              'set remote -l????' by itself, without VSETUP.EXE
  3425.              restores the default VMiX shell (where access passwords
  3426.              are not checked).
  3427.  
  3428.  
  3429.  
  3430.  
  3431.       The Utilities                                          page 3-11
  3432.  
  3433.  
  3434.       C O M S O F T                                           VMiX 386
  3435.  
  3436.  
  3437.       VMiX.INI Configuration File Format
  3438.       __________________________________
  3439.  
  3440.  
  3441.       File type:       ASCII text
  3442.  
  3443.       Comment Symbol:  ;
  3444.  
  3445.                  (everything after an ';' anywhere in a line
  3446.                   is a comment)
  3447.  
  3448.       Sections:        Three Labled Sections
  3449.  
  3450.  
  3451.       ;START
  3452.       [access passwords]
  3453.          .             ;Multiple text passwords that will be
  3454.          .             ;encrypted the first time VSETUP processes
  3455.          .             ;this file.
  3456.          .
  3457.          .
  3458.  
  3459.       [remote startup]
  3460.          .             ;A single line that can include multiple
  3461.                        ;commands, executed only at remote loggin.
  3462.  
  3463.       [startup]
  3464.          .             ;Multiple lines that can include multiple
  3465.          .             ;commands per line, executed only at VMiX
  3466.          .             ;startup.
  3467.          .             ;It is better to use a single line per
  3468.          .             ;'dosjob' command.  For other commands,
  3469.          .             ;concatenate as many as possible on a single
  3470.          .             ;(each line is sequentially processed by
  3471.          .             ;a new VMiX process).
  3472.          .
  3473.       ;END
  3474.  
  3475.  
  3476.       A self-documented sample VMiX.INI file is included as a
  3477.       template for you to make your own configuration file.
  3478.  
  3479.  
  3480.  
  3481.       VMiX.INI Configuration File Processing
  3482.       ______________________________________
  3483.  
  3484.  
  3485.       VSETUP.EXE is the only utility that reads the .INI file.
  3486.       This utility currently performs 3 functions:
  3487.  
  3488.       1) If it finds an [access passwords] Section in VMiX.INI,
  3489.          it backups the file to VMiX.BAK and encrypts the text
  3490.          passwords, changing the Section name to [encrpt passwords].
  3491.  
  3492.          Remove the unencrypted file VMiX.BAK from your hard disk,
  3493.          so that the original passwords remain secret to all other
  3494.          users.  You can copy VMiX.BAK back to VMiX.INI when you
  3495.          need to change the text password list.
  3496.  
  3497.       The Utilities                                          page 3-12
  3498.  
  3499.  
  3500.       C O M S O F T                                           VMiX 386
  3501.  
  3502.  
  3503.       2) If invoked during startup, it will execute multiple command
  3504.          lines given in the [startup] Section.  This is an alternative
  3505.          to typing all startup commands in the VM_BOOT command line.
  3506.          (System Startup Options, however, can ONLY be given at the
  3507.           command line, since VSETUP runs after VM_BOOT is started.
  3508.  
  3509.       3) If invoked during a COMM port access, (you must have issued
  3510.          a 'set remote -l???? vsetup' command) it will prompt for
  3511.          an access password and match it against the encrypted list
  3512.          in VMiX.INI.  After verifying access, it will dispatch the
  3513.          single command line listed under the [remote startup]
  3514.          Section.  (The single line can have multiple commands,
  3515.          separated by a '/').
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.       The Utilities                                          page 3-13
  3564.  
  3565.  
  3566.       C O M S O F T                                           VMiX 386
  3567.  
  3568.  
  3569.  
  3570.  
  3571.       NAME: vt.exe
  3572.       ____
  3573.  
  3574.       OUTLINE:
  3575.       _______
  3576.  
  3577.       vt   " utility to login to a remote VMiX host"
  3578.  
  3579.  
  3580.       DESCRIPTION:
  3581.       ___________
  3582.  
  3583.       VT can be used to connect to other VMiX hosts from a local
  3584.       shell.  Essentially VT is a remote utility to serially link
  3585.       together two different VMiX hosts (115.2 Kbaud maximum).
  3586.       This utility form the basis for a VMiX distributed system in
  3587.       a network of two or more VMiX systems.
  3588.  
  3589.       VT will start a remote session with the second computer via the
  3590.       COMM port currently specified by 'set remote -l ????' (you can
  3591.       determine the current setting with the 'examine status'
  3592.       command).  You can then execute from host-1 any program on
  3593.       host-2.
  3594.  
  3595.  
  3596.       To set up a single remote session from host-1 connected to
  3597.       host-2 use the following:
  3598.  
  3599.            host-1                     host-2
  3600.  
  3601.        set remote -l1             set remote -l1      (COM1 for both)
  3602.        do vt.exe                      -      (Request host-2 session)
  3603.        login                          -(host-2 asks for session name)
  3604.                                                          (you are in)
  3605.  
  3606.  
  3607.       To set up dual links (one VT session on host-1 running on
  3608.       host-2, and another VT session on host-2 running on host-1
  3609.       use the following:
  3610.  
  3611.            host-1                     host-2
  3612.  
  3613.        set remote -l1             set remote -l1      (COM1 for both)
  3614.        do vt.exe                      -              (host-2 session)
  3615.        login                          -                (session name)
  3616.        press <Shift> <Tab>            -              (switch to Root)
  3617.        set remote -l2             set remote -l2      (COM2 for both)
  3618.            -                      do vt.exe          (host-1 session)
  3619.            -                      login                  (enter name)
  3620.        press <Shift> <Tab>            -                (return to VT)
  3621.  
  3622.       NOTE:  VT will automatically transmit to the remote host the IBM
  3623.       function key equivalents (like Alt-X, PgUp, up-arrow, F3, etc.)
  3624.       you do not need to toggle VMiX's IBM function key emulation by
  3625.       pressing <Ctrl> F.
  3626.  
  3627.  
  3628.  
  3629.       The Utilities                                          page 3-14
  3630.  
  3631.  
  3632.       C O M S O F T                                           VMiX 386
  3633.  
  3634.  
  3635.       NOTE:  If you have started a VT session and type 'set baud -c1
  3636.       2400', you will be setting the remote computer send baud rate,
  3637.       you will need to press <Shift> <Tab> and switch to a local session
  3638.       to perform the same command for your local computer, so that
  3639.       both sides synchronize at the new baud rate.
  3640.  
  3641.       To quit VT.EXE press <Alt> Z.  This will terminate the VT program,
  3642.       but will not quit the remote session.  You should 'quit' the
  3643.       remote session first (by typing 'quit'), before pressing <Alt> Z.
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.       The Utilities                                          page 3-15
  3696.  
  3697.  
  3698.       C O M S O F T                                           VMiX 386
  3699.  
  3700.  
  3701.  
  3702.  
  3703.       NAME: vw.exe
  3704.       ____
  3705.  
  3706.       OUTLINE:
  3707.       _______
  3708.  
  3709.       vw    " VMiX pull-down menus utility"
  3710.  
  3711.         -i  " interactive keyboard mode (VW will not be swapped out)"
  3712.         -m  " configure for monochrome display"
  3713.  
  3714.  
  3715.       DESCRIPTION:
  3716.       ___________
  3717.  
  3718.       VW can be used to start other programs or to set VMiX options.
  3719.       VW is an easy to use multiple thread environment.
  3720.  
  3721.       The menu bar displays five user menus:
  3722.  
  3723.         'Advanced' is a simulation of the tokens normally available
  3724.         from the VMiX shell.
  3725.  
  3726.         'Memory' allows you to partition memory and configure memory
  3727.         utilization.
  3728.  
  3729.         'Programs' provides new task start-up and process maintenance.
  3730.  
  3731.         'Status' displays system information and resource utilization
  3732.         information.
  3733.  
  3734.         'Options' is where most configuration choices reside.
  3735.  
  3736.       Move to the desired menu by pressing the right or left arrow
  3737.       keys.  Select a menu by pressing the down arrow key, by pressing
  3738.       ENTER, or by typing the CAPITALIZED letter of the menu name.
  3739.  
  3740.       Select a pull-down menu option by first moving to the desired
  3741.       item with the down or up arrow keys and press ENTER to execute
  3742.       the option.  Pull-down options that display a '->' indicate an
  3743.       additional pull-down menu, reachable by pressing ENTER or the
  3744.       right-arrow key.  To exit from the VE utility or a pull-down
  3745.       menu press the <Esc> key.
  3746.  
  3747.       When using VW from a remote PC, while running a remote console
  3748.       software product, you must tell VW to run in interactive mode
  3749.       with the command line option: 'VW.EXE -i'.  In this mode, VW
  3750.       will not allow the scheduler to set it to sleep, when there is
  3751.       no input/output activity.
  3752.  
  3753.       VW asks for a video page or video mode when starting a new VMiX
  3754.       shell or MS-DOS shell with FULL screen (use only page 0, when in
  3755.       386 mode).
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.       The Utilities                                          page 3-16
  3762.  
  3763.  
  3764.       C O M S O F T                                           VMiX 386
  3765.  
  3766.  
  3767.       VW will respond to the [Home] key by repainting the menu bar.
  3768.       On non-386 computers, switching to tasks in different video
  3769.       pages or modes will sometimes not restore the VW menu bar on
  3770.       return to VW, so press [Home] to redisplay.
  3771.  
  3772.       Windows are usually displayed automatically, when a new process
  3773.       is started.  With VW you can size a custom window from the
  3774.       Options Menu.  The 'Resize window' command will ask for the
  3775.       top-left and bottom-right coordinates, as shown above (Row and
  3776.       Column), for the new window.
  3777.  
  3778.  
  3779.  
  3780.  
  3781.  
  3782.  
  3783.  
  3784.  
  3785.  
  3786.  
  3787.  
  3788.  
  3789.  
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800.  
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.       The Utilities                                          page 3-17
  3828.  
  3829.